GtkGestureMultiPress: check event state before emiting released signal
authorJuan Pablo Ugarte <ugarte@endlessm.com>
Mon, 22 Jan 2018 14:20:14 +0000 (11:20 -0300)
committerCarlos Garnacho <carlosg@gnome.org>
Mon, 22 Jan 2018 14:42:54 +0000 (15:42 +0100)
Fix bug 771986 "Inconsistent 'row-activated' signal emission before \
drag'n'drop, 'activate-on-single-click'=TRUE, 'reorderable'=TRUE"

gtk/gtkgesturemultipress.c

index c985f7ba6a8b02697905bb98891377f451b18355..f2fa07f1c3bb9bae3c919162b3b101b5a9f1b433 100644 (file)
@@ -279,7 +279,9 @@ gtk_gesture_multi_press_end (GtkGesture       *gesture,
   current = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
   gtk_gesture_get_point (gesture, current, &x, &y);
 
-  g_signal_emit (gesture, signals[RELEASED], 0, priv->n_release, x, y);
+  if (gtk_gesture_get_sequence_state (gesture, current) != GTK_EVENT_SEQUENCE_DENIED)
+    g_signal_emit (gesture, signals[RELEASED], 0, priv->n_release, x, y);
+
   priv->n_release = 0;
 }